"""
一个类是由属性和方法组成
属性：私有属性，普通属性
方法：普通方法，类方法，静态方法，魔法方法
"""


class Student:
    __age = 200
    def __init__(self, name="", age="1"):
        self.name = name
        self.age = age
        self.__sex = "男"

    def info(self):
        print("我叫{},今年{}岁！{}".format(self.name, self.age,Student.__age))
    def info2():
        print("没有info")
    @classmethod
    def hobby(cls, sing="米老鼠"): # 类方法可以通过cls直接访问类的属性和普通方法  cls就表示的是Student
        cls("小狗","20").info()
        print("{},喜欢唱{}".format(cls("小老鼠").name, sing))

    @staticmethod
    def run():
        Student.hobby()
        Student.info2() # 只能调用没有self的普通方法和属性，可以直接调用类方法
        print(Student.__age)

Stu = Student("小猫", "10")
print(Stu.name)
print(Stu.age)
Stu.info()
Student.run()
# Student.hobby()
